import { getCategoryListAPI } from '../../apis/category'
import { setTabBarCount } from '../../utils/utils'

Page({
  // 页面的初始数据
  data: {
    leftList: [],
    activeIndex: 0,
  },
  // 页面加载
  onLoad() {
    // 获取数据
    this.getList()
  },
  // 页面显示时触发
  onShow() {
    setTabBarCount()
  },
  // 获取列表数据
  async getList() {
    // 发送请求
    const res = await getCategoryListAPI()
    // 提取列表数据
    const list = res.data.list
    // 过滤出有子分类的数据
    const filterList = list.filter((v) => v.children)
    console.log(filterList)

    // 提取左侧列表数据
    const leftList = filterList
      // 隐射出需要的数据
      .map(({ category_id, name }) => ({
        category_id,
        name,
      }))

    // 提取右侧列表数据
    const rightList = filterList[this.data.activeIndex].children

    // 更新数据，渲染页面
    this.setData({
      leftList,
      rightList,
    })

    // 保存过滤后的列表数据备用
    this.filterList = filterList
  },
  // 修改高亮下标
  changeActiveIndex(e) {
    // 提取事件参数
    const { index } = e.mark
    // 修改高亮下标
    this.setData({
      activeIndex: index,
      rightList: this.filterList[index].children,
    })
  },
})
